<?php
/*
 * [JINYUN!] (C)2001-2099 Jinyunweb.com
 * This is NOT a freeware, use is subject to license terms
 * $Id: 2017-12-13 03:39:35 apple $
*/
/*
	插件小程序（小程序市场）
	直接从小程序市场选购，然后安装发布
	业务流程：先从小程序市场选购——选购成功后自动创建小程序，然后自动发起小程序授权——再通过开放平台提交代码，申请审核——审核通过后发布
	是否添加一个小程序列表管理所有小程序——对于插件小程序来说需要一个列表
	那么微官网小程序和diy小程序是否也一起放到这个列表里面呢。微官网小程序和diy小程序特点是直接扫码上传。一起放到小程序列表
	本页面执行功能：
	选购小程序，选购之后检查是否存在小程序ID，如果存在则直接更新，否则新建小程序然后自动发起授权。
*/
defined('BY_JYA') or exit('error');
$_RQ['op']=$_RQ['op']?$_RQ['op']:'list';
$return=array();
if($_RQ['op']=='list'){
	//小程序
	$baiduapp_id=intval($_RQ['id']);
	$params=array();
	if($_RQ['title']){
		$params['title like']='%'.trim($_RQ['title']).'%';
		$return['params']['title']=trim($_RQ['title']);
	}
	$fields=array('id','title','plugin','version');
	$pindex = max(1, $_RQ['page']);
	$psize = 15;
	$total='';
	$list=pdo_getslice('core_baiduapp',$params,array($pindex,$psize),$total,$fields);
	if($list){
		foreach($list as &$item){
			$item['plugin']=pdo_getcolumn('core_plugins',array('name'=>$item['plugin']),'title');
			$item['buy']=0;
		}
	}
	$return['list']=$list;
	$totalpage=ceil($total/$psize);
	$totalpage=intval($totalpage);
	$return['totalpage'] =$totalpage;
	$return['params']['page'] =$pindex;
	/*$htmls=array(
		'type'=>'list',
		'tabs'=>array(
			array('op'=>'list_m','title'=>'主题打包小程序'),
			array('op'=>'list','title'=>'高级定制小程序'),
		),
		'list'=>array('data'=>'list','list'=>array(
			array('type'=>'string','title'=>'小程序名称','name'=>'title'),
			array('type'=>'string','title'=>'版本','name'=>'version'),
			array('type'=>'href','title'=>'关联插件','name'=>'plugin'),
		),array(
			array('type'=>'post','op'=>'use','query'=>'baiduapp_id='.$baiduapp_id,'title'=>'使用','show'=>array('buy'=>1)),
			array('type'=>'post','op'=>'buy','action'=>'account.store','title'=>'购买','show'=>array('buy'=>0)),
		)),
		'search_one'=>array('name'=>'title'),
	);
	$return['htmls']=$htmls;*/
	$return['groups']=get_plugin_styles();
	unset($return['groups'][8],$return['groups'][9]);
	exi($return);
}
if($_RQ['op']=='use'){
	//使用模版。说明：请求参数中的baiduapp_id指小程序的ID，id指小程序模版的ID。入库时，baiduapp_id字段保存的是小程序模版id
	//如果是更换小程序模版，直接更新小程序模版id即可。如果是新增小程序，新增成功后自动进入小程序授权页
	$baiduapp_id=intval($_RQ['baiduapp_id']);
	$id=intval($_RQ['id']);
	if(!$id){
		exi('请先选择小程序模版！','error');
	}
	$data=array(
		'baiduapp_id'=>$id,
		'status'=>0,
	);
	if($baiduapp_id){
		pdo_update('core_account_baiduapp',$data,array('id'=>$baiduapp_id));
		exi('更换小程序模版成功！','','baiduapp.list');
	}else{
		if($_SESSION['account']['groupid']){
			$limit=pdo_getcolumn('core_account_group',array('id'=>$_SESSION['account']['groupid']),'baiduapp_num');
			$num=pdo_count('core_account_baiduapp',array('uniacid'=>$_SESSION['uniacid']));
			if($num>=$limit){
				exi('您所添加的小程序已达到最大值，如需创建更多，请联系管理员提升权限或者升级套餐！','error');
			}
		}
		$data['uniacid']=$_SESSION['uniacid'];
		$data['createtime']=TIMESTAMP;
		pdo_insert('core_account_baiduapp',$data);
		$baiduapp_id=pdo_insertid();
		//新增小程序，此处发起小程序授权。
		exi('创建小程序成功！','','/baiduapp.list/');
	}
}